// 声明一个AbortController类型的变量，用于取消请求
let abortController: AbortController | null
// 异步函数，用于取消上一次的请求，并发送新的请求
export async function abortLastTimeRequest(url: string, input: string) {
  // 如果abortController存在，则调用abort方法取消上一次的请求
  abortController && abortController.abort()
  // 创建一个新的AbortController实例，并赋值给abortController
  abortController = new AbortController()
  // 发送新的请求，并将abortController的signal作为参数传入
  const list = await fetch(url + input, {
    signal: abortController.signal
  }).then((res) => res.json())
  // 调用createSuggest函数，将请求结果作为参数传入
  createSuggest(list)
}

function createSuggest(list: any) {
  const suggest = document.querySelector('.suggest')
  if (suggest) {
    suggest.innerHTML = ''
    list.forEach((item: any) => {
      const li = document.createElement('li')
      li.innerText = item
      suggest.appendChild(li)
    })
  }
}
